Monaco Tuner is a Control Panel which lets you select a font to be used in place of Monaco. You can choose to use the substitute font in place of Monaco 9 or in place of all sizes of Monaco. When substitution occurs, whatever you would normally see in the Monaco font will be displayed in the substitute font instead. Monaco Tuner also lets you resize “Monaco 9” globally.
• Who developed it?
Monaco Tuner was developed by Stephen C. Gilardi a.k.a. Squeegee. It is a free product from SQ Software.
• Why was it developed?
The Monaco 9 font is at least as old as the Macintosh itself. It is in some ways a very special font. For example, it is one of 4 fonts (Chicago 12, Geneva 9, and Geneva 12 are the others) that are “reserved” by the Macintosh System Software. The Finder will not let you delete or replace a reserved font.
Since developers can always count on Monaco 9 being available, it is frequently used whenever display in a monospaced font is desired. Even if a piece of software offers the user a choice of fonts, Monaco 9 is still often the default font. Monaco 9 is nearly always the default font used by software development tools.
Unfortunately, Monaco 9 is not a great font for programming. Software developers need to be able to readily identify each character they see in program code. It is really unacceptable not to know whether a given character is an uppercase “eye” or a lowercase “ell”. If a program has a “zero” where an uppercase “oh” should be, it can fail to compile or worse yet, simply give unexpected results. Monaco 9 uses identical glyphs for these characters, making it a very frustrating font for programmers.
Over the years, various monospaced fonts have been developed and released which are good for programming. In my opinion, one of the best is “ProFont” originally developed by Andrew Welch. One of the cool things about “ProFont” was that it was distributed inside an installer application and it actually replaced Monaco 9 with “ProFont”. The change was pervasive. There was no need to set any font preferences anywhere to get the benefit of ProFont. There was no need for there even to be font preferences to set. It just worked.
The magic used by the original installer to accomplish this pervasive substitution broke when the Mac II and SE were released. From that point on, installing ProFont as a replacement for Monaco 9 became more difficult. Over the years I have maintained and distributed various methods for accomplishing the substitution. In reaction to various changes Apple made in the System Software, the methods used to install ProFont changed and evolved. The last step in this evolution was the far-too-complicated set of instructions included in the 1.x releases of the “ProFont Distribution” package.
Finally, when System 7.5.3 came out, I had trouble coming up with reliable installation instructions. While I was following version 1.2 of the instructions, one of the more dangerous steps in the installation failed and I was left with a damaged System file. This was no way to run a railroad.
At that point, necessity once again became the mother of invention and Monaco Tuner was born. Monaco Tuner makes the choice of a substitute font (like ProFont) easy and provides the kind of pervasive replacement that has been the goal of the ProFont distribution all along. Since it was relatively easy to allow a choice of fonts other than ProFont, I included that option in Monaco Tuner.
• What kind of Macintosh and System Software do I need to run Monaco Tuner?
Monaco Tuner runs on any Macintosh (or compatible) running System 7 or Mac OS 8. It has been tested on several machines including a PowerBook 100 running System 7.0.1 and a PowerMac 8100/100 running System 7.5.3, System 7.6.1 and Mac OS 8 with and without QuickDraw GX. It contains both 68000 code and PowerPC code for optimum performance under either architecture.
• How do I install it?
In stark contrast to the final evolution of the old ProFont installation instructions, the installation of Monaco Tuner is simplicity itself:
1) Drag the “Monaco Tuner” icon on top of your “System Folder” icon and drop it inside.
2) When asked if “Monaco Tuner” should be put in the “Control Panels Folder”, say “OK”.
3) Restart your Macintosh.
• How do I configure it?
Monaco Tuner comes preconfigured to substitute ProFont for Monaco 9. If that’s what you want it to do, then you’re done. If you’d like to use a different font or substitute for all sizes of Monaco, or if you’d like to change the size of “Monaco 9” then open the Monaco Tuner Control Panel:
The values of the controls are meant to read like two sentences.
• The upper checkbox turns substitution on and off.
• The top popup menu lets you choose the substitute font from among the fonts you have installed. You can choose any font you like (except Monaco), but you’ll probably get the best results by using a monospaced font whose 9 pt size has the same font metrics as Monaco 9. This is because some software packages make assumptions about the size of Monaco 9 which are hardwired into their code rather than determined at runtime. If you’re feeling silly, choosing “Zapf Dingbats” or “Symbol” as the substitute font is fun--for a while.
• The middle popup menu lets you choose whether substitution should occur at the 9 point size only or at all sizes. This option exists because I think TrueType Monaco is a great font for programming. Why replace all of Monaco, just because Monaco 9 isn’t up to TrueType Monaco’s high standard? In any case, the lower popup lets you decide.
• The lower checkbox turns the resizing of “Monaco 9” on and off.
• The bottom popup menu lets you choose a new size for “Monaco 9”.
Any changes you make will cause all open windows and the desktop to be refreshed immediately to reflect the new settings. While the display is being updated, the message “(Refreshing Display)” will appear momentarily. When changing the size of “Monaco 9”, you’ll probably need to close and reopen any windows that are open when the change is made. Most editors don’t update the line spacing for the text in a window when Monaco Tuner tells the window to refresh.
Balloon help is available for all of these options and for the Control Panel itself.
• What about Monaco 12?
Monaco 12 shares many of the bad features of Monaco 9 which make it not a good programming font. I investigated the possibility of including replacement of Monaco 12 with TrueType Monaco (rendered at 12 pt size) as an option in Monaco Tuner. It worked, but it decreased the speed of text display on my machine unacceptably. The good news is that Monaco 12 is not a reserved font and can simply be removed from the Monaco suitcase in your Fonts folder by dragging it to the trash using the Finder. If you don’t like Monaco 12, but you do like TrueType Monaco, then that’s what I recommend you do.
• Are there any known problems with it?
Some programs such as word processors which make heavy use of fonts don’t notice that “Monaco” has changed when the display is refreshed. Some appear to cache things like the font metrics of all installed fonts when they start up. You may need to quit and relaunch such an application before Monaco font substitution will be effective. Simpler editors like SimpleText, BBEdit, and the editors built into the Symantec C++ and Codewarrior development environments don’t have this problem.
If you are using ATM, Monaco font substitution doesn’t happen correctly if ATM is required to render the substitute font. Since a 9 pt bitmap font is almost never rendered from an outline by ATM, this problem will generally only happen when the “at all sizes” substitution option is selected. The incorrect substitution is a cosmetic problem only, it doesn’t cause a crash. I’m not sure why it happens or whether it can be fixed for a future release of Monaco Tuner. Changing the relative load order of the Monaco Tuner and ATM control panels didn’t fix the problem.
There was one report of Monaco Tuner 1.0 being incompatible with the combination of System 7.5.3 and Suitcase 2.1.4p3. I don’t own Suitcase, so I’ve been unable to follow up on it. I’d appreciate hearing from anyone with more information about this. If that version of Suitcase and System 7.5.3 are compatible with each other, then I'd like to do everything I can to make Monaco Tuner compatible with the combination.
• What happens if I have problems with it?
Monaco Tuner is provided in the hope that it will be useful. However, it is provided AS IS and carries NO WARRANTY that it will do anything good and NO WARRANTY that it will not do anything bad. Your use of this software is ENTIRELY AT YOUR OWN RISK. Stephen C. Gilardi and SQ Software hereby disclaim any and all liability for any difficulty you may have as a result of using Monaco Tuner. If these terms are not acceptable to you, then you must not use Monaco Tuner.
That being said, if you do have any difficulties or any suggestions, I’ll be very appreciative if you let me know about them so I can attempt to improve future releases of Monaco Tuner.
• How can I contact you?
You can contact me by e-mail at “squeegee@usa.net”. In addition to hearing about any problems you have, I’d be very pleased to hear from you if you like Monaco Tuner!
The basic operation of Monaco Tuner is accomplished by two safe fat trap patches. The traps patched are “_FMSwapFont” and “_RealFont”. The substitution itself occurs in about 8 lines of C code. The rest of the approximately 37,000 bytes of Monaco Tuner are there to give it a nice user interface because that’s The Macintosh Way.
• I’ve “read the fine manual,” do I get a reward?
Nicely done! You’re reading this and that means either you are the kind of person who bothers to read instructions or you know someone who does. In either case, I like your style. As a reward for your diligence, I will now confirm for you a rumor that’s been spreading throughout the Mac development community like wildfire. There is a moderately nifty Easter Egg in the Monaco Tuner control panel. Please use this knowledge only for good.
• How was Monaco Tuner produced?
Monaco Tuner was produced using the following Cool Tools:
• All code was written in C and C++ using the “CodeWarrior” development environment by Metrowerks.
• Resource editing was done using “ResEdit” from Apple Computer, Inc.
• The ‘INIT’ portion of Monaco Tuner was developed using the “Extension Shell” framework by Dair Grant, Purple Shark Software.
• The ‘cdev’ portion of Monaco Tuner was developed using the “CW CDEV Framework” package by Matthew E. Axsom, New England Software Works.
• The Balloon Help was produced using Peter N Lewis’s “Balloon Help” compiler.
• The entire package was checked, improved, and made ready for release using the “SoftPolish” package from Bare Bones Software, Inc.